home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -in_the_mag- / banging_the_metal / clocks / stopwatch / stopwatch.rexx < prev    next >
OS/2 REXX Batch file  |  1999-11-30  |  7KB  |  257 lines

  1. /****************************************/
  2. /*            StopWatch.rexx            */
  3. /*    ARexx-demo for StopWatch V3.0     */
  4. /* Copyright by Christian Danner 061291 */
  5. /****************************************/
  6.  
  7. /* Note: The colorfont stopwatch  (see StopWatch.pic), an */
  8. /*       outline font derived from the helvetica 24 font, */
  9. /*       is  not  included  in this package for copyright */
  10. /*       reasons.  So  use a font editor to generate your */
  11. /*       own time display font.
  12. /*       See the "StopWatch" manual for details on this.  */
  13.  
  14. TRACE OFF
  15.  
  16. ADDRESS COMMAND                      /* run StopWatch */
  17. STARTED = 0
  18.  
  19. /*
  20. "RunBack ColorText"                  /* run ColorText for color fonts */
  21. */
  22.  
  23. RC = SHOW( PORTS, "RexxStopWatch")
  24. IF RC = 0 THEN
  25.   DO
  26.     "Run StopWatch -d10 -b -o3 -w704 -h450 -k66afff000d00444dd00d000b -nstopwatch -z27 -x485 -y345 -i250 -j345 -t485 -u345"
  27.     DO FOR 10
  28.         "WaitForPort RexxStopWatch"
  29.       END
  30.     IF RC ~= 0 THEN
  31.         DO
  32.           SAY "Starting StopWatch failed !!"
  33.           EXIT 20
  34.         END
  35.       ELSE
  36.         STARTED = 1
  37.   END
  38.  
  39. ADDRESS "RexxStopWatch"              /* selection of the REXX-port */
  40. OPTIONS RESULTS
  41.  
  42. LOCKEXIT                             /* prevent from exiting program */
  43. LOCKTIMER                            /* lock timer */
  44.  
  45. LAPS 3                               /* modify parameters */
  46. VIACYCL 708                          /*   coarse tuning */
  47. CORRECT "-525"                       /*   fine tuning */
  48. CYCLSEC 1000                         /*   resolution 1/1000 sec. */
  49. REFRACT 500                          /*   refraction 500 * resolution */
  50.  
  51. TIMEFONT STOPWATCH 27                /* select time display font */
  52.  
  53. BEEP OFF                             /* display beep off */
  54.  
  55. SCREENADDRESS                        /* get address of display screen */
  56. IF RC = 0 THEN
  57.     SAY "SCREEN-ADR : "RESULT
  58.   ELSE
  59.     SAY "ERROR      : "RC
  60.  
  61. BOXO  65  45 594  50 2               /* screen box / text header */
  62. BOXO  55  35 594  50 1
  63. BOXO  60  40 584  40 0
  64. BOXT  60  40 584  40 7
  65. TEXTFONT SAPPHIRE 19
  66. TEXTCS 352  50 1 2 "Silverstone  Formula 1   Grand Prix  1991"
  67.  
  68. BOXO  65 395 594  35 2               /* screen box / text footer */
  69. BOXO  55 385 594  35 3
  70. BOXO  60 388 584  29 0
  71. BOXT  60 388 584  29 2
  72. TEXTFONT DIAMOND 20
  73. TEXTC 355 395 2 "-1" "StopWatch V3.0  by  Christian Danner"
  74. TEXTC 352 393 1 "-1" "StopWatch V3.0  by  Christian Danner"
  75.  
  76. TEXTFONT HELVETICA 18                /* title of result list */
  77. TEXTC 355 115 2 "-1" "F I N A L   R E S U L T S"
  78. TEXTC 353 113 3 "-1" "F I N A L   R E S U L T S"
  79. TEXTC 351 111 5 "-1" "F I N A L   R E S U L T S"
  80.  
  81. BOXO 65 145 594 175 2                /* box for result list */
  82. BOXO 55 135 594 175 1
  83. BOXO 60 140 584 165 0
  84. BOXT 60 140 584 165 4
  85.  
  86. TEXTFONT HELVETICA 24                /* result list */
  87. SHADOW "-1 -1 0 -1 1 -1 -1 0 1 0 -1 1 0 1 1 1 4 8"
  88. TEXTRS  80 150 5 2 "1"
  89. TEXTRS 140 150 5 2 "Ayrton Senna"
  90. TEXTRS  80 180 5 2 "2"
  91. TEXTRS 140 180 5 2 "Martin Brundle"
  92. TEXTRS  80 210 5 2 "3"
  93. TEXTRS 140 210 5 2 "Nelson Piquet"
  94. TEXTRS  80 240 5 2 "4"
  95. TEXTRS 140 240 5 2 "Alain Prost"
  96. TEXTRS  80 270 5 2 "5"
  97. TEXTRS 140 270 5 2 "Gerhard Berger"
  98. TEXTCS 390 150 1 2 BRA
  99. TEXTCS 390 180 3 2 GBR
  100. TEXTCS 390 210 5 2 FRA
  101. TEXTCS 390 240 6 2 FRA
  102. TEXTCS 390 270 7 2 AUT
  103. SHADOW "2 4"
  104. TEXTLS 620 150 3 2 "2:35:18.037"
  105. TEXTRS 500 180 3 2 "+"
  106. TEXTLS 620 180 3 2 "2.381"
  107. TEXTRS 500 210 3 2 "+"
  108. TEXTLS 620 210 3 2 "13.924"
  109. TEXTRS 500 240 3 2 "+"
  110. TEXTLS 620 240 3 2 "46.182"
  111. TEXTRS 500 270 3 2 "+"
  112. TEXTLS 620 270 3 2 "46.712"
  113.  
  114. BOXO     60 100 61 31 2              /* example drawings */
  115. BOXO     60 100 40 20 3
  116. BOXO     60 100 20 10 5
  117.  
  118. BOXO    583 100 30 15 7
  119. DRAW  1 584 101
  120. DRAW  1 588 101
  121. DRAW  1 592 101
  122. DRAW  1 596 101
  123. DRAW  1 586 103
  124. DRAW  1 590 103
  125. DRAW  1 584 105
  126. DRAW  1 588 105
  127. DRAW  1 586 107
  128. DRAW  1 584 109
  129. ELLIPSE 613 115 30 15 3
  130. ELLIPSE 613 115 25 15 1
  131. ELLIPSE 613 115 20 15 3
  132. ELLIPSE 613 115 15 15 1
  133. ELLIPSE 613 115 10 15 3
  134. ELLIPSE 613 115  5 15 1
  135.  
  136. DRAW 7 150 104 220 115 150 126 150 104
  137. FILL 151 115 7
  138.  
  139. DRAW 7 554 104 484 115 554 126 554 104
  140. FILL 553 115 7
  141.  
  142. SHADOW "-1 -1 0 -1 1 -1 -1 0 1 0 -1 1 0 1 1 1"
  143.  
  144. TIMECOLOR 5 0                        /* select color of time font */
  145. RESET                                /* reset of the timer */
  146. NEXTLAP                              /* get next additive lap time */
  147. IF RC = 0 THEN
  148.     SAY "NEXTLAP    : "RESULT
  149.   ELSE
  150.     SAY "ERROR      : "RC
  151. TEXTR 70 345 6 0 "5."
  152. NEXTLAP                              /* get next additive lap time */
  153. IF RC = 0 THEN
  154.     SAY "NEXTLAP    : "RESULT
  155.   ELSE
  156.     SAY "ERROR      : "RC
  157. CLRTEXTR 70 345 "5."
  158. TEXTR 70 345 6 0 "12."
  159. NEXTLAP                              /* get next additive lap time */
  160. IF RC = 0 THEN
  161.     SAY "NEXTLAP    : "RESULT
  162.   ELSE
  163.     SAY "ERROR      : "RC
  164. LOCKTIMER
  165. CLRTEXTR 70 345 "12."
  166. TEXTR 70 345 6 0 "3."
  167. LOGO 280 325
  168. ADDRESS COMMAND "Wait 2 Sec"
  169. CLRLOGO 280 325
  170. CLRTEXTR 70 345 "3."
  171.  
  172. TIMECOLOR 5 2
  173. TIMEDIGITS 0 2                       /* resolution of time display */
  174. RESET                                /* reset of the timer */
  175. NEXTSINGLE                           /* get next single lap time */
  176. IF RC = 0 THEN
  177.     SAY "NEXTSINGLE : "RESULT
  178.   ELSE
  179.     SAY "ERROR      : "RC
  180. NEXTSINGLE                           /* get next single lap time */
  181. IF RC = 0 THEN
  182.     SAY "NEXTSINGLE : "RESULT
  183.   ELSE
  184.     SAY "ERROR      : "RC
  185. LOCKTIMER
  186. TEXTR 70 345 6 0 "5."
  187. ADDRESS COMMAND "Wait 2 Sec"
  188. CLRTEXTR 70 345 "5."
  189. RESET                                /* reset of the timer */
  190.  
  191. TIMEPOS 485 325 485 345 485 355      /* change positions of time display */
  192. TIMECOLOR 5 0
  193. TIMEDIGITS 1 3
  194. LAPS 2                               /* modifying laps per race, reset */
  195. LOGO 150 325
  196. NEXTLAP                              /* get next additive lap time */
  197. IF RC = 0 THEN
  198.     SAY "NEXTLAP    : "RESULT
  199.   ELSE
  200.     SAY "ERROR      : "RC
  201. TEXTRS 70 345 6 2 "15."
  202. TEXTRS 350 345 6 2 "+ 1:14.947"
  203. NEXTTOTAL                            /* get next total time */
  204.                                      /* here StopWatch.pic was recorded !! */
  205. IF RC = 0 THEN
  206.     SAY "NEXTTOTAL  : "RESULT
  207.   ELSE
  208.     SAY "ERROR      : "RC
  209. LOCKTIMER
  210. CLRTEXTRS 70 345 "15."
  211. CLRTEXTRS 350 345 "+ 1:14.947"
  212. TEXTRS 70 345 6 2 "7."
  213. ADDRESS COMMAND "Wait 2 Sec"
  214. CLRTEXTRS 70 345 "7."
  215.  
  216. PREVSINGLE                           /* get previous single lap time */
  217. IF RC = 0 THEN
  218.     SAY "PREVSINGLE : "RESULT
  219.   ELSE
  220.     SAY "ERROR      : "RC
  221. PREVLAP                              /* get previous additive lap time */
  222. IF RC = 0 THEN
  223.     SAY "PREVLAP    : "RESULT
  224.   ELSE
  225.     SAY "ERROR      : "RC
  226. PREVTOTAL                            /* get previous total lap time */
  227. IF RC = 0 THEN
  228.     SAY "PREVTOTAL  : "RESULT
  229.   ELSE
  230.     SAY "ERROR      : "RC
  231. CLRLOGO 150 325
  232. RESET                                /* reset of the timer */
  233.  
  234. PREVSINGLE                           /* get prev. single lap time -> error */
  235. IF RC = 0 THEN
  236.     SAY "PREVSINGLE : "RESULT
  237.   ELSE
  238.     SAY "PREVSINGLE : "RESULT
  239.     SAY "ERROR      : "RC
  240. PREVLAP                              /* get previous additive lap time */
  241. IF RC = 0 THEN
  242.     SAY "PREVLAP    : "RESULT
  243.   ELSE
  244.     SAY "PREVLAP    : "RESULT
  245.     SAY "ERROR      : "RC
  246. PREVTOTAL                            /* get previous total lap time */
  247. IF RC = 0 THEN
  248.     SAY "PREVTOTAL  : "RESULT
  249.   ELSE
  250.     SAY "PREVTOTAL  : "RESULT
  251.     SAY "ERROR      : "RC
  252.  
  253. IF STARTED = 1 THEN
  254.   CLOSE                              /* end the earlier started program */
  255.  
  256. EXIT
  257.